package controller;

import java.util.List;

import pausing.Pauser;
import view.overlay.MapOverlay;
import view.overlay.SkillOverlay;

public class GameController extends Controller {
	
	private MapOverlay mMapOverlay;
	private InventoryController mInventoryController;
	private StatsController mStatsController;
	private SkillPointAssignmentController mSkillPointController;
	
	private SkillsController mSkillController;
	
	public GameController(MapOverlay overlay,
						InventoryController inv,
						StatsController stats,
						SkillPointAssignmentController spac,
						SkillsController sko) {
		mMapOverlay = overlay;
		mInventoryController = inv;
		mStatsController = stats;
		mSkillPointController = spac;
		mSkillController = sko;
	}
	
	public void showGame() {
		mMapOverlay.setVisible(true);
		mInventoryController.activateInventory();
		mStatsController.showStats();
		mSkillPointController.activateAssigner();
		mSkillController.activateSkillController();
		Pauser.resume();
	}
	
	public void hideGame() {
		mMapOverlay.setVisible(false);
		mInventoryController.deactivateInventory();
		mStatsController.hideStats();
		mSkillPointController.deactivateAssigner();
		mSkillController.deactivateSkillController();
		Pauser.pause();
	}

	@Override
	public List<GameControl> getKeyControls() {
		// TODO Auto-generated method stub
		return null;
	}
	
	@Override
	public void reset() {
		mMapOverlay.setVisible(false);
		mInventoryController.deactivateInventory();
		mStatsController.hideStats();
		mSkillPointController.deactivateAssigner();
	}

}
